Steps towards Mechanizing Program Transformations Using Pvs ?

نویسندگان

  • Natarajan Shankar
  • Sam Owre
  • Harald Ruess
  • John Rushby
چکیده

PVS is a highly automated framework for speciication and veriication. We show how the language and deduction features of PVS can be used to formalize, mechanize , and apply some useful program transformation techniques. We examine two such examples in detail. The rst is a fusion theorem due to Bird where the composition of a catamorphism (a recursive operation on the structure of a datatype) and an anamorphism (an operation that constructs instances of the datatype) is fused to eliminate the intermediate data structure. The second example is Wand's continuation-based transformation technique for deriving tail-recursive functions from non-tail-recursive ones. These examples illustrate the utility of the language and inference features of PVS in capturing these transformations in a simple, general , and useful form.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Steps Toward Mechanizing Program Transformations Using PVS

PVS is a highly automated framework for speciication and veriication. We show how the language and deduction features of PVS can be used to formalize, mechanize , and apply some useful program transformation techniques. We examine two such examples in detail. The rst is a fusion theorem due to Bird where the composition of a catamorphism (a recursive operation on the structure of a datatype) an...

متن کامل

Representing, Verifying and Applying Software Development Steps using the PVS System

In this paper generic software development steps of diierent complexity are represented and veriied using the (higher-order, strongly typed) speciication and veriication system PVS. The transformations considered in this paper include \large" powerful steps encoding general algorithmic paradigms as well as \smaller" transformations for the operationalization of a descriptive speciication. The a...

متن کامل

Formal software development using generic development steps

This talk is concerned with a mechanized formal treatment of the transformational software development process in a uniied framework. As a formal vehicle, the speciication and veriication system PVS 7] is utilized to integrate development steps and development methods from diierent existing transformational approaches (for example, PROSPECTRA 6], KIDS 9], CIP 1,5,8], Bird-Meertens 2]). Integrat...

متن کامل

Formal Veri cation of Transformations forPeephole Optimization ?

In this paper we describe a formal veriication of transformations for peephole optimization using the PVS system 12]. Our basic approach is to develop a generic scheme to mechanize these kinds of veri-cations for a large class of machine architectures. This generic scheme is instantiated with a formalization of a non-trivial stack machine 14] and a PDP-11 like two-address machine 2], and we pro...

متن کامل

Formalizing Type Theory in PVS: a case study

In this case study we investigate the use of PVS for developing type theoretical concepts and verifying the correctness of a typing algorithm. PVS turns out to be very useful for efficient development of a sound basic theory about polymorphic typing. This research contributes to the PoplMark challenge on mechanizing metatheory. The correctness of the typing algorithm is expressed as the so-call...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005